gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
prime(x) → test(x, s(s(0)))
test(x, y) → if1(gt(x, y), x, y)
if1(true, x, y) → if2(divides(x, y), x, y)
if1(false, x, y) → true
if2(true, x, y) → false
if2(false, x, y) → test(x, s(y))
↳ QTRS
↳ Overlay + Local Confluence
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
prime(x) → test(x, s(s(0)))
test(x, y) → if1(gt(x, y), x, y)
if1(true, x, y) → if2(divides(x, y), x, y)
if1(false, x, y) → true
if2(true, x, y) → false
if2(false, x, y) → test(x, s(y))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
prime(x) → test(x, s(s(0)))
test(x, y) → if1(gt(x, y), x, y)
if1(true, x, y) → if2(divides(x, y), x, y)
if1(false, x, y) → true
if2(true, x, y) → false
if2(false, x, y) → test(x, s(y))
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
DIV(s(x), 0, s(z)) → DIV(s(x), s(z), s(z))
DIVIDES(x, y) → DIV(x, y, y)
TEST(x, y) → IF1(gt(x, y), x, y)
GT(s(x), s(y)) → GT(x, y)
TEST(x, y) → GT(x, y)
DIV(s(x), s(y), z) → DIV(x, y, z)
IF1(true, x, y) → DIVIDES(x, y)
PRIME(x) → TEST(x, s(s(0)))
IF1(true, x, y) → IF2(divides(x, y), x, y)
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
prime(x) → test(x, s(s(0)))
test(x, y) → if1(gt(x, y), x, y)
if1(true, x, y) → if2(divides(x, y), x, y)
if1(false, x, y) → true
if2(true, x, y) → false
if2(false, x, y) → test(x, s(y))
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
DIV(s(x), 0, s(z)) → DIV(s(x), s(z), s(z))
DIVIDES(x, y) → DIV(x, y, y)
TEST(x, y) → IF1(gt(x, y), x, y)
GT(s(x), s(y)) → GT(x, y)
TEST(x, y) → GT(x, y)
DIV(s(x), s(y), z) → DIV(x, y, z)
IF1(true, x, y) → DIVIDES(x, y)
PRIME(x) → TEST(x, s(s(0)))
IF1(true, x, y) → IF2(divides(x, y), x, y)
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
prime(x) → test(x, s(s(0)))
test(x, y) → if1(gt(x, y), x, y)
if1(true, x, y) → if2(divides(x, y), x, y)
if1(false, x, y) → true
if2(true, x, y) → false
if2(false, x, y) → test(x, s(y))
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
DIV(s(x), 0, s(z)) → DIV(s(x), s(z), s(z))
DIV(s(x), s(y), z) → DIV(x, y, z)
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
prime(x) → test(x, s(s(0)))
test(x, y) → if1(gt(x, y), x, y)
if1(true, x, y) → if2(divides(x, y), x, y)
if1(false, x, y) → true
if2(true, x, y) → false
if2(false, x, y) → test(x, s(y))
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
DIV(s(x), 0, s(z)) → DIV(s(x), s(z), s(z))
DIV(s(x), s(y), z) → DIV(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
DIV(s(x), 0, s(z)) → DIV(s(x), s(z), s(z))
DIV(s(x), s(y), z) → DIV(x, y, z)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
GT(s(x), s(y)) → GT(x, y)
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
prime(x) → test(x, s(s(0)))
test(x, y) → if1(gt(x, y), x, y)
if1(true, x, y) → if2(divides(x, y), x, y)
if1(false, x, y) → true
if2(true, x, y) → false
if2(false, x, y) → test(x, s(y))
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
GT(s(x), s(y)) → GT(x, y)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
GT(s(x), s(y)) → GT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
TEST(x, y) → IF1(gt(x, y), x, y)
IF1(true, x, y) → IF2(divides(x, y), x, y)
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
prime(x) → test(x, s(s(0)))
test(x, y) → if1(gt(x, y), x, y)
if1(true, x, y) → if2(divides(x, y), x, y)
if1(false, x, y) → true
if2(true, x, y) → false
if2(false, x, y) → test(x, s(y))
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
TEST(x, y) → IF1(gt(x, y), x, y)
IF1(true, x, y) → IF2(divides(x, y), x, y)
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
prime(x0)
test(x0, x1)
if1(true, x0, x1)
if1(false, x0, x1)
if2(true, x0, x1)
if2(false, x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
TEST(x, y) → IF1(gt(x, y), x, y)
IF1(true, x, y) → IF2(divides(x, y), x, y)
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
IF1(true, x, y) → IF2(div(x, y, y), x, y)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
TEST(x, y) → IF1(gt(x, y), x, y)
IF1(true, x, y) → IF2(div(x, y, y), x, y)
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
divides(x, y) → div(x, y, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
TEST(x, y) → IF1(gt(x, y), x, y)
IF1(true, x, y) → IF2(div(x, y, y), x, y)
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
divides(x0, x1)
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
divides(x0, x1)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
TEST(x, y) → IF1(gt(x, y), x, y)
IF1(true, x, y) → IF2(div(x, y, y), x, y)
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
TEST(s(x0), s(x1)) → IF1(gt(x0, x1), s(x0), s(x1))
TEST(s(x0), 0) → IF1(true, s(x0), 0)
TEST(0, x0) → IF1(false, 0, x0)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
TEST(s(x0), 0) → IF1(true, s(x0), 0)
IF1(true, x, y) → IF2(div(x, y, y), x, y)
TEST(s(x0), s(x1)) → IF1(gt(x0, x1), s(x0), s(x1))
IF2(false, x, y) → TEST(x, s(y))
TEST(0, x0) → IF1(false, 0, x0)
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
IF1(true, x, y) → IF2(div(x, y, y), x, y)
TEST(s(x0), s(x1)) → IF1(gt(x0, x1), s(x0), s(x1))
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
IF1(true, 0, 0) → IF2(true, 0, 0)
IF1(true, 0, s(x0)) → IF2(false, 0, s(x0))
IF1(true, s(x0), s(x1)) → IF2(div(x0, x1, s(x1)), s(x0), s(x1))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
IF1(true, 0, s(x0)) → IF2(false, 0, s(x0))
IF1(true, s(x0), s(x1)) → IF2(div(x0, x1, s(x1)), s(x0), s(x1))
IF1(true, 0, 0) → IF2(true, 0, 0)
TEST(s(x0), s(x1)) → IF1(gt(x0, x1), s(x0), s(x1))
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
IF1(true, s(x0), s(x1)) → IF2(div(x0, x1, s(x1)), s(x0), s(x1))
TEST(s(x0), s(x1)) → IF1(gt(x0, x1), s(x0), s(x1))
IF2(false, x, y) → TEST(x, s(y))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
IF2(false, s(z0), s(z1)) → TEST(s(z0), s(s(z1)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
IF1(true, s(x0), s(x1)) → IF2(div(x0, x1, s(x1)), s(x0), s(x1))
TEST(s(x0), s(x1)) → IF1(gt(x0, x1), s(x0), s(x1))
IF2(false, s(z0), s(z1)) → TEST(s(z0), s(s(z1)))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
TEST(s(z0), s(s(z1))) → IF1(gt(z0, s(z1)), s(z0), s(s(z1)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
IF1(true, s(x0), s(x1)) → IF2(div(x0, x1, s(x1)), s(x0), s(x1))
TEST(s(z0), s(s(z1))) → IF1(gt(z0, s(z1)), s(z0), s(s(z1)))
IF2(false, s(z0), s(z1)) → TEST(s(z0), s(s(z1)))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
IF1(true, s(z0), s(s(z1))) → IF2(div(z0, s(z1), s(s(z1))), s(z0), s(s(z1)))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
TEST(s(z0), s(s(z1))) → IF1(gt(z0, s(z1)), s(z0), s(s(z1)))
IF1(true, s(z0), s(s(z1))) → IF2(div(z0, s(z1), s(s(z1))), s(z0), s(s(z1)))
IF2(false, s(z0), s(z1)) → TEST(s(z0), s(s(z1)))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
IF2(false, s(z0), s(s(z1))) → TEST(s(z0), s(s(s(z1))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
IF2(false, s(z0), s(s(z1))) → TEST(s(z0), s(s(s(z1))))
TEST(s(z0), s(s(z1))) → IF1(gt(z0, s(z1)), s(z0), s(s(z1)))
IF1(true, s(z0), s(s(z1))) → IF2(div(z0, s(z1), s(s(z1))), s(z0), s(s(z1)))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
TEST(s(z0), s(s(s(z1)))) → IF1(gt(z0, s(s(z1))), s(z0), s(s(s(z1))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
IF2(false, s(z0), s(s(z1))) → TEST(s(z0), s(s(s(z1))))
TEST(s(z0), s(s(s(z1)))) → IF1(gt(z0, s(s(z1))), s(z0), s(s(s(z1))))
IF1(true, s(z0), s(s(z1))) → IF2(div(z0, s(z1), s(s(z1))), s(z0), s(s(z1)))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
IF1(true, s(z0), s(s(s(z1)))) → IF2(div(z0, s(s(z1)), s(s(s(z1)))), s(z0), s(s(s(z1))))
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ NonInfProof
IF2(false, s(z0), s(s(z1))) → TEST(s(z0), s(s(s(z1))))
IF1(true, s(z0), s(s(s(z1)))) → IF2(div(z0, s(s(z1)), s(s(s(z1)))), s(z0), s(s(s(z1))))
TEST(s(z0), s(s(s(z1)))) → IF1(gt(z0, s(s(z1))), s(z0), s(s(s(z1))))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
(1) (TEST(s(x2), s(s(s(x3))))=TEST(s(x4), s(s(s(x5)))) ⇒ IF2(false, s(x2), s(s(x3)))≥TEST(s(x2), s(s(s(x3)))))
(2) (IF2(false, s(x2), s(s(x3)))≥TEST(s(x2), s(s(s(x3)))))
(3) (IF1(gt(x12, s(s(x13))), s(x12), s(s(s(x13))))=IF1(true, s(x14), s(s(s(x15)))) ⇒ TEST(s(x12), s(s(s(x13))))≥IF1(gt(x12, s(s(x13))), s(x12), s(s(s(x13)))))
(4) (s(s(x13))=x24∧gt(x12, x24)=true ⇒ TEST(s(x12), s(s(s(x13))))≥IF1(gt(x12, s(s(x13))), s(x12), s(s(s(x13)))))
(5) (true=true∧s(s(x13))=0 ⇒ TEST(s(s(x25)), s(s(s(x13))))≥IF1(gt(s(x25), s(s(x13))), s(s(x25)), s(s(s(x13)))))
(6) (gt(x27, x28)=true∧s(s(x13))=s(x28)∧(∀x29:gt(x27, x28)=true∧s(s(x29))=x28 ⇒ TEST(s(x27), s(s(s(x29))))≥IF1(gt(x27, s(s(x29))), s(x27), s(s(s(x29))))) ⇒ TEST(s(s(x27)), s(s(s(x13))))≥IF1(gt(s(x27), s(s(x13))), s(s(x27)), s(s(s(x13)))))
(7) (gt(x27, x28)=true∧s(x13)=x28 ⇒ TEST(s(s(x27)), s(s(s(x13))))≥IF1(gt(s(x27), s(s(x13))), s(s(x27)), s(s(s(x13)))))
(8) (true=true∧s(x13)=0 ⇒ TEST(s(s(s(x30))), s(s(s(x13))))≥IF1(gt(s(s(x30)), s(s(x13))), s(s(s(x30))), s(s(s(x13)))))
(9) (gt(x32, x33)=true∧s(x13)=s(x33)∧(∀x34:gt(x32, x33)=true∧s(x34)=x33 ⇒ TEST(s(s(x32)), s(s(s(x34))))≥IF1(gt(s(x32), s(s(x34))), s(s(x32)), s(s(s(x34))))) ⇒ TEST(s(s(s(x32))), s(s(s(x13))))≥IF1(gt(s(s(x32)), s(s(x13))), s(s(s(x32))), s(s(s(x13)))))
(10) (gt(x32, x33)=true ⇒ TEST(s(s(s(x32))), s(s(s(x33))))≥IF1(gt(s(s(x32)), s(s(x33))), s(s(s(x32))), s(s(s(x33)))))
(11) (true=true ⇒ TEST(s(s(s(s(x35)))), s(s(s(0))))≥IF1(gt(s(s(s(x35))), s(s(0))), s(s(s(s(x35)))), s(s(s(0)))))
(12) (gt(x37, x38)=true∧(gt(x37, x38)=true ⇒ TEST(s(s(s(x37))), s(s(s(x38))))≥IF1(gt(s(s(x37)), s(s(x38))), s(s(s(x37))), s(s(s(x38))))) ⇒ TEST(s(s(s(s(x37)))), s(s(s(s(x38)))))≥IF1(gt(s(s(s(x37))), s(s(s(x38)))), s(s(s(s(x37)))), s(s(s(s(x38))))))
(13) (TEST(s(s(s(s(x35)))), s(s(s(0))))≥IF1(gt(s(s(s(x35))), s(s(0))), s(s(s(s(x35)))), s(s(s(0)))))
(14) (TEST(s(s(s(x37))), s(s(s(x38))))≥IF1(gt(s(s(x37)), s(s(x38))), s(s(s(x37))), s(s(s(x38)))) ⇒ TEST(s(s(s(s(x37)))), s(s(s(s(x38)))))≥IF1(gt(s(s(s(x37))), s(s(s(x38)))), s(s(s(s(x37)))), s(s(s(s(x38))))))
(15) (IF2(div(x16, s(s(x17)), s(s(s(x17)))), s(x16), s(s(s(x17))))=IF2(false, s(x18), s(s(x19))) ⇒ IF1(true, s(x16), s(s(s(x17))))≥IF2(div(x16, s(s(x17)), s(s(s(x17)))), s(x16), s(s(s(x17)))))
(16) (s(s(x17))=x39∧s(s(s(x17)))=x40∧div(x16, x39, x40)=false ⇒ IF1(true, s(x16), s(s(s(x17))))≥IF2(div(x16, s(s(x17)), s(s(s(x17)))), s(x16), s(s(s(x17)))))
(17) (false=false∧s(s(x17))=s(x42)∧s(s(s(x17)))=x43 ⇒ IF1(true, s(0), s(s(s(x17))))≥IF2(div(0, s(s(x17)), s(s(s(x17)))), s(0), s(s(s(x17)))))
(18) (div(s(x44), s(x45), s(x45))=false∧s(s(x17))=0∧s(s(s(x17)))=s(x45)∧(∀x46:div(s(x44), s(x45), s(x45))=false∧s(s(x46))=s(x45)∧s(s(s(x46)))=s(x45) ⇒ IF1(true, s(s(x44)), s(s(s(x46))))≥IF2(div(s(x44), s(s(x46)), s(s(s(x46)))), s(s(x44)), s(s(s(x46))))) ⇒ IF1(true, s(s(x44)), s(s(s(x17))))≥IF2(div(s(x44), s(s(x17)), s(s(s(x17)))), s(s(x44)), s(s(s(x17)))))
(19) (div(x47, x48, x49)=false∧s(s(x17))=s(x48)∧s(s(s(x17)))=x49∧(∀x50:div(x47, x48, x49)=false∧s(s(x50))=x48∧s(s(s(x50)))=x49 ⇒ IF1(true, s(x47), s(s(s(x50))))≥IF2(div(x47, s(s(x50)), s(s(s(x50)))), s(x47), s(s(s(x50))))) ⇒ IF1(true, s(s(x47)), s(s(s(x17))))≥IF2(div(s(x47), s(s(x17)), s(s(s(x17)))), s(s(x47)), s(s(s(x17)))))
(20) (IF1(true, s(0), s(s(s(x17))))≥IF2(div(0, s(s(x17)), s(s(s(x17)))), s(0), s(s(s(x17)))))
(21) (div(x47, x48, x49)=false∧s(x17)=x48∧s(s(s(x17)))=x49 ⇒ IF1(true, s(s(x47)), s(s(s(x17))))≥IF2(div(s(x47), s(s(x17)), s(s(s(x17)))), s(s(x47)), s(s(s(x17)))))
(22) (false=false∧s(x17)=s(x52)∧s(s(s(x17)))=x53 ⇒ IF1(true, s(s(0)), s(s(s(x17))))≥IF2(div(s(0), s(s(x17)), s(s(s(x17)))), s(s(0)), s(s(s(x17)))))
(23) (div(s(x54), s(x55), s(x55))=false∧s(x17)=0∧s(s(s(x17)))=s(x55)∧(∀x56:div(s(x54), s(x55), s(x55))=false∧s(x56)=s(x55)∧s(s(s(x56)))=s(x55) ⇒ IF1(true, s(s(s(x54))), s(s(s(x56))))≥IF2(div(s(s(x54)), s(s(x56)), s(s(s(x56)))), s(s(s(x54))), s(s(s(x56))))) ⇒ IF1(true, s(s(s(x54))), s(s(s(x17))))≥IF2(div(s(s(x54)), s(s(x17)), s(s(s(x17)))), s(s(s(x54))), s(s(s(x17)))))
(24) (div(x57, x58, x59)=false∧s(x17)=s(x58)∧s(s(s(x17)))=x59∧(∀x60:div(x57, x58, x59)=false∧s(x60)=x58∧s(s(s(x60)))=x59 ⇒ IF1(true, s(s(x57)), s(s(s(x60))))≥IF2(div(s(x57), s(s(x60)), s(s(s(x60)))), s(s(x57)), s(s(s(x60))))) ⇒ IF1(true, s(s(s(x57))), s(s(s(x17))))≥IF2(div(s(s(x57)), s(s(x17)), s(s(s(x17)))), s(s(s(x57))), s(s(s(x17)))))
(25) (IF1(true, s(s(0)), s(s(s(x17))))≥IF2(div(s(0), s(s(x17)), s(s(s(x17)))), s(s(0)), s(s(s(x17)))))
(26) (div(x57, x58, x59)=false∧s(s(s(x58)))=x59 ⇒ IF1(true, s(s(s(x57))), s(s(s(x58))))≥IF2(div(s(s(x57)), s(s(x58)), s(s(s(x58)))), s(s(s(x57))), s(s(s(x58)))))
(27) (false=false∧s(s(s(s(x62))))=x63 ⇒ IF1(true, s(s(s(0))), s(s(s(s(x62)))))≥IF2(div(s(s(0)), s(s(s(x62))), s(s(s(s(x62))))), s(s(s(0))), s(s(s(s(x62))))))
(28) (div(s(x64), s(x65), s(x65))=false∧s(s(s(0)))=s(x65)∧(div(s(x64), s(x65), s(x65))=false∧s(s(s(s(x65))))=s(x65) ⇒ IF1(true, s(s(s(s(x64)))), s(s(s(s(x65)))))≥IF2(div(s(s(s(x64))), s(s(s(x65))), s(s(s(s(x65))))), s(s(s(s(x64)))), s(s(s(s(x65)))))) ⇒ IF1(true, s(s(s(s(x64)))), s(s(s(0))))≥IF2(div(s(s(s(x64))), s(s(0)), s(s(s(0)))), s(s(s(s(x64)))), s(s(s(0)))))
(29) (div(x66, x67, x68)=false∧s(s(s(s(x67))))=x68∧(div(x66, x67, x68)=false∧s(s(s(x67)))=x68 ⇒ IF1(true, s(s(s(x66))), s(s(s(x67))))≥IF2(div(s(s(x66)), s(s(x67)), s(s(s(x67)))), s(s(s(x66))), s(s(s(x67))))) ⇒ IF1(true, s(s(s(s(x66)))), s(s(s(s(x67)))))≥IF2(div(s(s(s(x66))), s(s(s(x67))), s(s(s(s(x67))))), s(s(s(s(x66)))), s(s(s(s(x67))))))
(30) (IF1(true, s(s(s(0))), s(s(s(s(x62)))))≥IF2(div(s(s(0)), s(s(s(x62))), s(s(s(s(x62))))), s(s(s(0))), s(s(s(s(x62))))))
(31) (IF1(true, s(s(s(s(x64)))), s(s(s(0))))≥IF2(div(s(s(s(x64))), s(s(0)), s(s(s(0)))), s(s(s(s(x64)))), s(s(s(0)))))
(32) (IF1(true, s(s(s(s(x66)))), s(s(s(s(x67)))))≥IF2(div(s(s(s(x66))), s(s(s(x67))), s(s(s(s(x67))))), s(s(s(s(x66)))), s(s(s(s(x67))))))
POL(0) = 0
POL(IF1(x1, x2, x3)) = -1 - x1 + x2 - x3
POL(IF2(x1, x2, x3)) = -1 - x1 + x2 - x3
POL(TEST(x1, x2)) = -1 + x1 - x2
POL(c) = -5
POL(div(x1, x2, x3)) = 0
POL(false) = 0
POL(gt(x1, x2)) = 0
POL(s(x1)) = 2 + x1
POL(true) = 0
The following pairs are in Pbound:
IF2(false, s(z0), s(s(z1))) → TEST(s(z0), s(s(s(z1))))
The following rules are usable:
TEST(s(z0), s(s(s(z1)))) → IF1(gt(z0, s(s(z1))), s(z0), s(s(s(z1))))
gt(x, y) → gt(s(x), s(y))
false → gt(0, y)
true → gt(s(x), 0)
div(s(x), s(z), s(z)) → div(s(x), 0, s(z))
div(x, y, z) → div(s(x), s(y), z)
false → div(0, s(x), z)
true → div(0, 0, z)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ DependencyGraphProof
↳ QDP
IF1(true, s(z0), s(s(s(z1)))) → IF2(div(z0, s(s(z1)), s(s(s(z1)))), s(z0), s(s(s(z1))))
TEST(s(z0), s(s(s(z1)))) → IF1(gt(z0, s(s(z1))), s(z0), s(s(s(z1))))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)
↳ QTRS
↳ Overlay + Local Confluence
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ NonInfProof
↳ AND
↳ QDP
↳ QDP
↳ DependencyGraphProof
IF2(false, s(z0), s(s(z1))) → TEST(s(z0), s(s(s(z1))))
IF1(true, s(z0), s(s(s(z1)))) → IF2(div(z0, s(s(z1)), s(s(s(z1)))), s(z0), s(s(s(z1))))
gt(s(x), 0) → true
gt(0, y) → false
gt(s(x), s(y)) → gt(x, y)
div(0, 0, z) → true
div(0, s(x), z) → false
div(s(x), 0, s(z)) → div(s(x), s(z), s(z))
div(s(x), s(y), z) → div(x, y, z)
gt(s(x0), 0)
gt(0, x0)
gt(s(x0), s(x1))
div(0, 0, x0)
div(0, s(x0), x1)
div(s(x0), 0, s(x1))
div(s(x0), s(x1), x2)